package com.zg.third.qcc.service;

import com.zg.third.api.domain.vo.*;

import java.util.List;

/**
 * 企查查服务接口
 *
 * @author zhanfeng.liang
 * @since 2025-07-29
 */

public interface QccService {

    /**
     * 客户身份识别
     * @param searchKey 关键词（企业名称、统一社会信用代码、注册号）
     * @return KYC验证结果
     */
    QccKycVo kyc(String searchKey);

    /**
     * 国有土地受让核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 国有土地受让核查结果
     */
    Integer landMergeCheck(String keyword);

    /**
     * 供应商查询
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 供应商查询结果
     */
    Integer supplier(String keyword);

    /**
     * 客户查询
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 客户查询结果
     */
    Integer customer(String keyword);

    /**
     * 严重违法核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 严重违法核查结果
     */
    QccSeriousIllegalCheckVo seriousIllegalCheck(String keyword);

    /**
     * 司法拍卖核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 司法拍卖核查结果
     */
    Integer judicialSaleCheck(String keyword);

    /**
     * 立案信息核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 立案信息核查结果
     */
    Integer caseFilingCheck(String keyword);

    /**
     * 开庭公告核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 开庭公告核查结果
     */
    Integer courtAnnoCheck(String keyword);

    /**
     * 终本案件核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 终本案件核查
     */
    Integer endExecuteCaseCheck(String keyword);

    /**
     * 行政处罚核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 行政处罚核查结果
     */
    Integer adminPenaltyCheck(String keyword);

    /**
     * 环保处罚核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 环保处罚核查结果
     */
    Integer envPunishmentCheck(String keyword);

    /**
     * 公示催告核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 公示催告核查结果
     */
    Integer publishNoticeCheck(String keyword);

    /**
     * 惩戒名单核查
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 惩戒名单核查结果
     */
    Integer disciplinaryCheck(String keyword);

    /**
     * 专利查询
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 专利查询结果
     */
    Integer patent(String keyword);

    /**
     * 软件著作权查询
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 软件著作权查询结果
     */
    Integer copyRight(String keyword);

    /**
     * 企业信息核验
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 企业信息核验结果
     */
    QccEnterpriseInfoVo enterpriseInfo(String keyword);

    /**
     * 上市企业信息查询
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 上市企业信息查询结果
     */
    QccIpoVo ipo(String keyword);

    /**
     * 税务信用查询
     * @param keyword 关键词（企业名称、统一社会信用代码、注册号）
     * @return 税务信用查询结果
     */
    List<QccTaxCreditVo> taxCredit(String keyword);
}
